﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Charts.QuickChart.Data;
using Core.Mvvm.ViewModels;

namespace Client.App.ViewModels.Interfaces
{
    public interface IEfficiencyAccelerationTestViewModel : ITestViewModel
    {
        int MaxProcessingBlockSize { get; }
        int ProcessingBlockSize { get; set; }

        ObservableCollection<IUnitStatistics> IterationStatistics { get; set; } 

        string EfficiencyHorizontalTitle { get; set; }
        string EfficiencyVerticalTitle { get; set; }
        IDataPointCollection<double, double> Efficiency { get; set; }

        string AccelerationHorizontalTitle { get; set; }
        string AccelerationVerticalTitle { get; set; }
        IDataPointCollection<double, double> Acceleration { get; set; }

        IDataPointCollection<double, double> ProcessorCount { get; set; } 

        // todo
        // Units
        int Size { get; }
    }
}
